<?php
require_once 'BaseController.php';

/**
 * 店舗電話番号一覧クラス<br />
 *
 * @package apamanshop
 * @author
 * @copyright コピーライト(要確認)
 */
class Shop_TellistController extends Shop_BaseController
{
	/**
     * 無料電話番号一覧アクション
     *
     * @access public
     * @return void
     */
    public function indexAction()
    {
		$this->setMainTemplate('cms_search.tpl');
        //　CMS用パラメータ設定
        $this->setCmsParams();
    	// 表示テンプレートパス設定
        $this->_display_path = APPLICATION_PATH . '/modules/shop/views/tellist/scripts/index.tpl';
        $this->_data['selfurl'] = Apm_Config_Shop::URL_TELLIST_INDEX;
        
        // モデルインスタンス生成
        $this->_model = new Shop_Model_Tellist();
        // 電話番号一覧データの生成
        $telList = $this->_model->getList($this->_params);
        // 表示用データに変換
        $this->_data['telList'] = $this->_model->convertData($telList,$this->_params['no']);
        // 店舗検索
        $this->searchTenpo();
		$this->setHiddenTag();
        // パンくず設定
        $this->_breadcrumb->reset();
        $this->_breadcrumb->add(Apm_Config_Search::BREADCRUMB_TOP, $this->_baseurl);
		if (empty($this->_params['no'])) {
			$this->_breadcrumb->add('無料電話番号一覧', $this->_baseurl . $this->deleteDiagonal(Apm_Config_Shop::URL_TELLIST_INDEX));
		} else {
			$this->_breadcrumb->add('無料電話番号一覧', $this->_baseurl . $this->deleteDiagonal(Apm_Config_Shop::URL_TELLIST_INDEX) . '?no=' . $this->_params['no']);
		}
        // BLOCKの設定
        $this->_main_helper = $this->_tellist_helper;
    }

	/**
     * 通常電話番号一覧アクション
     *
     * @access public
     * @return void
     */
    public function index2Action()
    {
		$this->setMainTemplate('cms_search.tpl');
        //　CMS用パラメータ設定
        $this->setCmsParams();
    	// 表示テンプレートパス設定
        $this->_display_path = APPLICATION_PATH . '/modules/shop/views/tellist/scripts/index.tpl';
        $this->_data['selfurl'] = Apm_Config_Shop::URL_TELLIST_INDEX2;

        // モデルインスタンス生成
        $this->_model = new Shop_Model_Tellist2();
        // 電話番号一覧データの生成
        $telList = $this->_model->getList($this->_params);
        // 表示用データに変換
        $this->_data['telList'] = $this->_model->convertData($telList);
        // 店舗検索
        $this->searchTenpo();
		$this->setHiddenTag();
        // パンくず設定
        $this->_breadcrumb->reset();
        $this->_breadcrumb->add(Apm_Config_Search::BREADCRUMB_TOP, $this->_baseurl);
        $this->_breadcrumb->add('通常電話番号一覧', $this->_baseurl . $this->deleteDiagonal(Apm_Config_Shop::URL_TELLIST_INDEX2));
        // BLOCKの設定
        $this->_main_helper = $this->_tellist2_helper;
    }
    
    /**
     * 店舗検索
     * 
     * @access public
     * @return void
     */
    private function searchTenpo()
    {
        $this->_data['displayStyle'] = 'style=' . '"display: none"';

        if (array_key_exists('keyword', $this->_params))
    	{
	        $this->_data['displayStyle'] = '';

	        if ($this->_params['keyword'] == '')
	        {
	        	$this->_data['resultList'] = array();
	        	$this->_data['resultMessage'] = '店舗名を入力してください';
	        }
	        else
	        {
		        $this->_data['resultList'] = $this->_model->getSearchList($this->_params);
	        	$this->_data['resultMessage'] = '該当する店舗はありません';
	        }
    	}
    }
    
	/**
	 * CMS用パラメータ設定
	 */
	private function setCmsParams()
	{
        // タイトル設定
        $this->setTitle('賃貸情報アパマンショップ[賃貸マンション、賃貸アパート、賃貸住宅、賃貸不動産の検索サイト]');
        // Description設定
        $this->setDescription('賃貸住宅・賃貸マンション・賃貸アパートの検索は賃貸情報アパマンショップで！全国の賃貸住宅、賃貸マンション、賃貸アパート、賃貸不動産情報が満載。沿線、地域、路線図から賃貸物件を検索可。');
        // Keyword設定
        $this->setKeywords('賃貸,賃貸情報,賃貸住宅,賃貸マンション,賃貸アパート,賃貸住宅情報,賃貸不動産,賃貸検索,部屋探し,不動産賃貸,不動産,アパマン,あぱまん,apaman');
        // css
        $this->addMetaCss('/css/shop/tellist.css');
	}

	/**
	 * 店舗検索用パラメータ設定
	 */
	private function setHiddenTag()
	{
		$hidden = array();
		$urlParam = "";

		if (!empty($this->_params['AreaCd'])) {
			$hidden['AreaCd'] = $this->_params['AreaCd'];
			if (!is_array($this->_params['AreaCd'])) {
				$urlParam .= "&AreaCd=".$this->_params['AreaCd'];
			} else {
				foreach ($this->_params['AreaCd'] as $val) {
					$urlParam .= "&AreaCd[]=".$val;
				}
			}
		}
		if (!empty($this->_params['PrefCd'])) {
			$hidden['PrefCd'] = $this->_params['PrefCd'];
			if (!is_array($this->_params['PrefCd'])) {
				$urlParam .= "&PrefCd=".$this->_params['PrefCd'];
			} else {
				foreach ($this->_params['PrefCd'] as $val) {
					$urlParam .= "&PrefCd[]=".$val;
				}
			}
		}

		if (!empty($hidden)) {
			$this->_data['menuHiddenTag'] = Apm_Util::generateHiddenTag($hidden);
		}
		if (!empty($urlParam)) {
			$this->_data['urlParam'] = '?'.substr($urlParam,1);
		}
	}
}
?>
